package com.ruoyi.business.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 订单信息对象 order_info
 *
 * @author ruoyi
 * @date 2024-04-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("order_info")
public class OrderInfo extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 订单id
     */
    @TableId(value = "order_id")
    private Long orderId;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 订单状态(初始化|待提货|配送中|待回单|待打款|已完成)，全部运单切换到对应状态订单才切换到对应状态
     */
    private String orderStatus;
    /**
     * 显示状态，如已发货中的部分发货，为空则使用订单状态
     */
    private String displayStatus;
    /**
     * 订单总价
     */
    private BigDecimal orderTotalPrices;
    /**
     * 货物名称
     */
    private String goodsName;
    /**
     * 货物数量(单个)
     */
    private Long goodsNumSingle;
    /**
     * 货物数量(总计)
     */
    private Long goodsNumSum;
    /**
     * 货物数量单位
     */
    private String goodsNumUnit;
    /**
     * 货物重量(吨)(单个)
     */
    private BigDecimal goodsWeightSingle;
    /**
     * 货物重量(吨)(总计)
     */
    private BigDecimal goodsWeightSum;
    /**
     * 货物体积(单个)
     */
    private String goodsVolumeSingle;
    /**
     * 货物体积(总计)
     */
    private BigDecimal goodsVolumeSum;
    /**
     * 用车类型(整车、零担)
     */
    private String carUseType;
    /**
     * 车长
     */
    private Float carLength;
    /**
     * 车型(;分割)
     */
    private String carType;
    /**
     * 预计装货时间(yyyy-mm-dd)
     */
    private String loadTimeDay;
    /**
     * 预计装货时间(hh:mm-hh:mm)
     */
    private String loadTimeHour;
    /**
     * 实际装货时间
     */
    private Date loadingTimeDay;
    /**
     * 预计发货时间(mm-dd)
     */
    private String sendTimeDay;
    /**
     * 预计发货时间(hh:mm-hh:mm)
     */
    private String sendTimeHour;
    /**
     * 实际发货时间
     */
    private Date sendingTimeDay;
    /**
     * 预计到货时间(yyyy-mm-dd)
     */
    private String receiveTimeDay;
    /**
     * 预计到货时间(hh:mm-hh:mm)
     */
    private String receiveTimeHour;
    /**
     * 实际到货时间
     */
    private Date receivingTimeDay;
    /**
     * 订单支付渠道
     */
    private String payChannel;
    /**
     * 订单支付单号,第三方支付流水号(transaction_id)
     */
    private String outTradeNo;
    /**
     * 结算方式(现付、到付、月结)
     */
    private String settlementType;
    /**
     * 保险金额(0.00未购买)(付多少)
     */
    private BigDecimal insuredAmount;
    /**
     * 保价金额(赔多少)
     */
    private BigDecimal declarationValue;
    /**
     * 备注
     */
    private String remark;
    /**
     * 业务来源id
     */
    private Long ownerId;
    /**
     * 业务来源类型
     */
    private String ownerType;
    /**
     * 逻辑删除
     */
    private Integer isDeleted;
    /**
     * 其他参数
     */
    private String elseParams;
    /**
     * 幂等key
     */
    private String uniqDedupKey;
    /**
     * 逻辑删除(用户侧)
     */
    private Integer userDeleted;
    /**
     * 寄件人id
     */
    private Long sendId;
    /**
     * 寄件人姓名(冗余)
     */
    private String sendName;
    /**
     * 寄件人手机号
     */
    private String sendPhone;
    /**
     * 寄件人公司
     */
    private String sendCompanyName;
    /**
     * 寄件人省
     */
    private Long sendProvince;
    /**
     * 寄件人市
     */
    private Long sendCity;
    /**
     * 寄件人区
     */
    private Long sendDistrict;
    /**
     * 寄件人地址
     */
    private String sendAddress;
    /**
     * 寄件人经度
     */
    private String sendLongitude;
    /**
     * 寄件人纬度
     */
    private String sendLatitude;
    /**
     * 收件人id
     */
    private Long receiverId;
    /**
     * 收件人姓名(冗余)
     */
    private String receiverName;
    /**
     * 收件人手机号
     */
    private String receiverPhone;
    /**
     * 收件人公司
     */
    private String receiverCompanyName;
    /**
     * 收件人省
     */
    private Long receiverProvince;
    /**
     * 收件人市
     */
    private Long receiverCity;
    /**
     * 收件人区
     */
    private Long receiverDistrict;
    /**
     * 收件人地址
     */
    private String receiverAddress;
    /**
     * 收件人经度
     */
    private String receiverLongitude;
    /**
     * 收件人纬度
     */
    private String receiverLatitude;
    /**
     * 长(米)
     */
    private BigDecimal goodsLong;
    /**
     * 宽(米)
     */
    private BigDecimal goodsWidth;
    /**
     * 高(米)
     */
    private BigDecimal goodsHeight;
    /**
     * 是否紧急
     */
    private String isUrgency;
    /**
     * 是否异常
     */
    private String isAbnormal;
    /**
     * 紧急备注
     */
    private String urgencyRemark;
    /**
     * 异常备注
     */
    private String abnormalRemark;
    /**
     * 账号id(当前订单)
     */
    private Long relevanceUserId;
    /**
     * 剩余可开票金额
     */
    private BigDecimal remainingInvoiceAmount;
    /**
     * 单号
     */
    private String code;
    /**
     * 打包方式
     */
    private String packaging;
    /**
     * 是否运营方添加
     */
    private String isOperationAdd;

}
